package com.test11_泛型;

/**
 * 泛型接口
 */
public class YootkDemo_03 {

    public static void main(String[] args) {
        {
            IMessage<String> message = new MessageImpl<>();
            message.send("沐言优拓");
        }
        {
            IMessage<String> message = new MessageImpl2();
            message.send("www.yootk.com");
        }
    }
}

interface IMessage<T> {     // 泛型接口
    public void send(T t);
}

/**
 * 方式一：在定义实现子类的时候继续采用泛型
 */
class MessageImpl<T> implements IMessage<T> {
    @Override
    public void send(T t) {
        System.out.println("【消息发送】" + t);
    }
}

/**
 * 方式二：在定义实现子类的时候不定义泛型，
 * 但是会明确为实现的父接口设置一个具体的泛型类型
 */
class MessageImpl2 implements IMessage<String> {
    @Override
    public void send(String t) {
        System.out.println("【消息发送】" + t);
    }
}
